package router

import (
	"Data-API-MCP/backend/internal/interfaces/http/handler"
	"Data-API-MCP/backend/internal/interfaces/http/middleware"

	"github.com/gin-gonic/gin"
)

// RegisterAPICallRoutes 注册API调用记录相关路由
func RegisterAPICallRoutes(r *gin.RouterGroup, callHandler *handler.APICallHandler) {
	// API调用记录路由组
	callGroup := r.Group("/calls")
	callGroup.Use(middleware.AuthMiddleware())
	{
		// 获取调用记录列表
		callGroup.GET("", callHandler.GetCalls)
		// 获取单个调用记录
		callGroup.GET("/:id", callHandler.GetCall)
		// 获取指定时间范围内的调用记录
		callGroup.GET("/time-range", callHandler.GetCallsByTimeRange)
		// 获取指定调用者的调用记录
		callGroup.GET("/caller/:caller", callHandler.GetCallsByCaller)
	}

	// API相关的调用记录路由组
	apiCallGroup := r.Group("/apis/:apiId")
	apiCallGroup.Use(middleware.AuthMiddleware())
	{
		// 获取指定API的调用记录列表
		apiCallGroup.GET("/calls", callHandler.GetCallsByAPI)
		// 获取指定API的调用统计信息
		apiCallGroup.GET("/statistics", callHandler.GetStatistics)
	}
}
